-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a single code server #26818
base: dpeng817/use_code_server_start
Are you sure you want to change the base?
Use a single code server #26818
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think I put this on sean's original PR too - the main downside I see after this change is that if the proxy server process crashes, there is nothing that will detect that and restart it now. Before, if that happened, you could reload things from the webserver UI, and the daemon was restarting every 60 seconds anyway.
I'm not sure if that is a blocking concern or not, but I do know that there are some people who use 'dagster dev' in a non dev context, for better or worse, and that change in behavior could affect them. One possibility would be to make this new thing opt in or opt out in some fashion. Another would be to add something that monitors the proxy server process and restarts it automatically on the same port if that is detected.
21a03b4
to
9b7602e
Compare
c761541
to
e71f7f6
Compare
9b7602e
to
3e118fd
Compare
e71f7f6
to
1bf450d
Compare
Restarting automatically on the same port seems like the most principled approach. |
1bf450d
to
a31c4a9
Compare
3e118fd
to
982a6d4
Compare
a31c4a9
to
43a6d66
Compare
982a6d4
to
dd0a28f
Compare
af1816d
to
0bd9734
Compare
dd0a28f
to
71a4627
Compare
0bd9734
to
4571581
Compare
4571581
to
411f4ce
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this is very close - a few things inline, the other thing is figuring out how to keep the display metadata so you can still see the python module/package/etc. even though they are now sourced from a grpc port/socket
6964310
to
f0caf87
Compare
71a4627
to
1cd13dc
Compare
f0caf87
to
0b9624f
Compare
0b9624f
to
99884f2
Compare
Summary & Motivation
Changes dagster dev to initialize a single code server instead of one per process (daemon, workspace).
As a result of this change, the grpc servers will no longer automatically start upon crash. To resolve this, introduce a "restart thread" which will automatically bring the proxy server back in the case of an unexpectedly dead proxy server.
How I Tested These Changes
Existing dagster dev tests, a new grpcserverregistry test where we kill the proxy server and ensure a new one is spun up.
Additionally tested manually and killed the underlying proxy server, ensured that it spun the proxy server back up without issue.
Changelog
dagster dev
command now spins up a single code server per code location.